The present invention relates to control block management and, more specifically, to systems and methods for removing control blocks from a queue while the queue is being executed.
Typical input/output (I/O) devices are queue-based, passing control blocks and ownership through memory. In some cases, to stop work from being performed, execution of a control block may need to be prevented after the control block has been added to a queue. Generally, this requires taking the entire queue offline, which delays processing of control blocks that are not being removed from the queue. In high performance systems with virtualization and prefetching capabilities, the complexity of removing entries from a queue can become challenging, particularly while the queue is running.